Implement a to_title_case text utility function#2394
Conversation
Signed-off-by: Juan Cruz Viotti <jv@jviotti.com>
🤖 Augment PR SummarySummary: This PR introduces a new Changes:
Technical Notes: 🤖 Was this summary useful? React with 👍 or 👎 |
| list(APPEND SOURCEMETA_CORE_COMPONENTS markdown) | ||
| list(APPEND SOURCEMETA_CORE_COMPONENTS error) | ||
| list(APPEND SOURCEMETA_CORE_COMPONENTS options) | ||
| list(APPEND SOURCEMETA_CORE_COMPONENTS text) |
There was a problem hiding this comment.
Adding text to the default SOURCEMETA_CORE_COMPONENTS list means an installation built with -DSOURCEMETA_CORE_LANG_TEXT=OFF could still try to include(.../sourcemeta_core_text.cmake) by default and fail at find_package time if that export wasn’t installed. Consider guarding default component selection / inclusion based on whether the component was built and installed.
Severity: medium
Other Locations
config.cmake.in:141
🤖 Was this useful? React with 👍 or 👎, or 🚀 if it prevented an incident/outage.
|
|
||
| /// @ingroup text | ||
| /// | ||
| /// Convert a string to Title Case in place. For example: |
There was a problem hiding this comment.
The doc comment calls this “Title Case”, but the implementation only uppercases the first character of each segment and leaves the rest unchanged (it does not lowercase existing uppercase letters). Consider clarifying the documented semantics so callers don’t assume full title-casing behavior.
Severity: low
🤖 Was this useful? React with 👍 or 👎, or 🚀 if it prevented an incident/outage.
| if (character == '_' || character == '-') { | ||
| character = ' '; | ||
| capitalize_next = true; | ||
| } else if (capitalize_next) { |
There was a problem hiding this comment.
capitalize_next is cleared after processing any character at a boundary (including digits/whitespace), so inputs like abc_123def become Abc 123def (the d won’t be capitalized). If the intent is “capitalize the next alphabetic character after separators”, consider skipping non-letters before clearing the flag.
Severity: low
🤖 Was this useful? React with 👍 or 👎, or 🚀 if it prevented an incident/outage.
There was a problem hiding this comment.
1 issue found across 11 files
Reply with feedback, questions, or to request a fix.
Re-trigger cubic
There was a problem hiding this comment.
Benchmark (linux/llvm)
Details
| Benchmark suite | Current: c2e2baa | Previous: 3140427 | Ratio |
|---|---|---|---|
Regex_Lower_S_Or_Upper_S_Asterisk |
1.928585956931351 ns/iter |
2.188698934791036 ns/iter |
0.88 |
Regex_Caret_Lower_S_Or_Upper_S_Asterisk_Dollar |
1.9373778325318194 ns/iter |
2.182236112006209 ns/iter |
0.89 |
Regex_Period_Asterisk |
1.926243332171996 ns/iter |
2.180018025531101 ns/iter |
0.88 |
Regex_Group_Period_Asterisk_Group |
1.9235118442975634 ns/iter |
2.1811117007643666 ns/iter |
0.88 |
Regex_Period_Plus |
1.936796730548884 ns/iter |
2.8029460601001435 ns/iter |
0.69 |
Regex_Period |
2.211865085328319 ns/iter |
3.1154870351664306 ns/iter |
0.71 |
Regex_Caret_Period_Plus_Dollar |
1.926852207323249 ns/iter |
2.8030146352317837 ns/iter |
0.69 |
Regex_Caret_Group_Period_Plus_Group_Dollar |
2.198428510085286 ns/iter |
3.121081963795746 ns/iter |
0.70 |
Regex_Caret_Period_Asterisk_Dollar |
2.7402008139120855 ns/iter |
3.1125117689704735 ns/iter |
0.88 |
Regex_Caret_Group_Period_Asterisk_Group_Dollar |
3.0189355933108093 ns/iter |
3.4246348747370834 ns/iter |
0.88 |
Regex_Caret_X_Hyphen |
4.121777753001309 ns/iter |
6.082336595646694 ns/iter |
0.68 |
Regex_Period_Md_Dollar |
20.869225191621194 ns/iter |
27.805526371386033 ns/iter |
0.75 |
Regex_Caret_Slash_Period_Asterisk |
5.22403570727296 ns/iter |
5.920709286030759 ns/iter |
0.88 |
Regex_Caret_Period_Range_Dollar |
3.0234161159299644 ns/iter |
3.7366655752410605 ns/iter |
0.81 |
Regex_Nested_Backtrack |
28.798511201376467 ns/iter |
37.09033891040521 ns/iter |
0.78 |
JSON_Array_Of_Objects_Unique |
332.05894402630986 ns/iter |
407.91168144665716 ns/iter |
0.81 |
JSON_Parse_1 |
4688.097219204004 ns/iter |
5884.647079127517 ns/iter |
0.80 |
JSON_Parse_Real |
8092.712714006275 ns/iter |
10851.984396222077 ns/iter |
0.75 |
JSON_Parse_Decimal |
9079.42155535732 ns/iter |
11052.159430358188 ns/iter |
0.82 |
JSON_Parse_Schema_ISO_Language |
2990237.7370690214 ns/iter |
3693338.492063631 ns/iter |
0.81 |
JSON_Fast_Hash_Helm_Chart_Lock |
57.43519658227454 ns/iter |
64.59712777183897 ns/iter |
0.89 |
JSON_Equality_Helm_Chart_Lock |
122.01273336566265 ns/iter |
166.08922363846278 ns/iter |
0.73 |
JSON_Divisible_By_Decimal |
186.54487233311042 ns/iter |
237.75973140444916 ns/iter |
0.78 |
JSON_String_Equal/10 |
4.9441595416586495 ns/iter |
6.2361619220172315 ns/iter |
0.79 |
JSON_String_Equal/100 |
5.7610068567094315 ns/iter |
6.866933172058732 ns/iter |
0.84 |
JSON_String_Equal_Small_By_Perfect_Hash/10 |
0.8249842830012174 ns/iter |
0.9370654940815811 ns/iter |
0.88 |
JSON_String_Equal_Small_By_Runtime_Perfect_Hash/10 |
9.64949419065138 ns/iter |
14.630388345672516 ns/iter |
0.66 |
JSON_String_Fast_Hash/10 |
2.2016746173033632 ns/iter |
2.813281717044738 ns/iter |
0.78 |
JSON_String_Fast_Hash/100 |
2.1957553422952705 ns/iter |
2.809603708389769 ns/iter |
0.78 |
JSON_String_Key_Hash/10 |
1.9237140548137301 ns/iter |
2.3371359144064345 ns/iter |
0.82 |
JSON_String_Key_Hash/100 |
6.328703509971559 ns/iter |
9.041533491205895 ns/iter |
0.70 |
JSON_Object_Defines_Miss_Same_Length |
3.302292335990683 ns/iter |
3.7659183155119784 ns/iter |
0.88 |
JSON_Object_Defines_Miss_Too_Small |
3.309337204131384 ns/iter |
3.738571558731775 ns/iter |
0.89 |
JSON_Object_Defines_Miss_Too_Large |
3.3217187173896985 ns/iter |
3.743613827461046 ns/iter |
0.89 |
Pointer_Object_Traverse |
21.56735707404302 ns/iter |
24.24960901406413 ns/iter |
0.89 |
Pointer_Object_Try_Traverse |
24.18982611068329 ns/iter |
26.112831795094927 ns/iter |
0.93 |
Pointer_Push_Back_Pointer_To_Weak_Pointer |
151.62178150517306 ns/iter |
192.30805665699765 ns/iter |
0.79 |
Pointer_Walker_Schema_ISO_Language |
2445763.1637632027 ns/iter |
3614462.5806452 ns/iter |
0.68 |
Pointer_Maybe_Tracked_Deeply_Nested/0 |
1107585.9807073695 ns/iter |
1443538.5619833833 ns/iter |
0.77 |
Pointer_Maybe_Tracked_Deeply_Nested/1 |
1337648.9118773136 ns/iter |
1830154.7244095255 ns/iter |
0.73 |
Pointer_Position_Tracker_Get_Deeply_Nested |
575.4022993788524 ns/iter |
670.2369823819332 ns/iter |
0.86 |
URITemplateRouter_Create |
22782.40716094266 ns/iter |
30846.258057396153 ns/iter |
0.74 |
URITemplateRouter_Match |
125.98788483167506 ns/iter |
175.2307851884413 ns/iter |
0.72 |
URITemplateRouter_Match_BasePath |
150.44752068072827 ns/iter |
202.8586097731312 ns/iter |
0.74 |
URITemplateRouterView_Restore |
6805.222505000734 ns/iter |
8021.004585697855 ns/iter |
0.85 |
URITemplateRouterView_Match |
109.87880443137712 ns/iter |
142.06353462021355 ns/iter |
0.77 |
URITemplateRouterView_Match_BasePath |
124.49309366030239 ns/iter |
160.65168834820224 ns/iter |
0.77 |
URITemplateRouterView_Arguments |
369.0039992714411 ns/iter |
456.08708884931326 ns/iter |
0.81 |
JSONL_Parse_Large |
8198370.802326049 ns/iter |
11170140.523809494 ns/iter |
0.73 |
JSONL_Parse_Large_GZIP |
9136849.98684217 ns/iter |
12444420.964912519 ns/iter |
0.73 |
HTML_Build_Table_100000 |
71213639.39999697 ns/iter |
69515058.63636178 ns/iter |
1.02 |
HTML_Render_Table_100000 |
4485036.051281901 ns/iter |
6381875.371134717 ns/iter |
0.70 |
GZIP_Compress_ISO_Language_Set_3_Locations |
28486162.625000585 ns/iter |
35191479.50000274 ns/iter |
0.81 |
GZIP_Decompress_ISO_Language_Set_3_Locations |
3168308.181818185 ns/iter |
5531412.264462766 ns/iter |
0.57 |
GZIP_Compress_ISO_Language_Set_3_Schema |
1667590.2261904897 ns/iter |
1935263.7107435674 ns/iter |
0.86 |
GZIP_Decompress_ISO_Language_Set_3_Schema |
211623.4632463249 ns/iter |
373513.3534759404 ns/iter |
0.57 |
This comment was automatically generated by workflow using github-action-benchmark.
There was a problem hiding this comment.
Benchmark (macos/llvm)
Details
| Benchmark suite | Current: c2e2baa | Previous: 3140427 | Ratio |
|---|---|---|---|
Regex_Lower_S_Or_Upper_S_Asterisk |
2.7780640031310324 ns/iter |
2.7372713289597157 ns/iter |
1.01 |
Regex_Caret_Lower_S_Or_Upper_S_Asterisk_Dollar |
2.727053505063922 ns/iter |
2.2523377608656667 ns/iter |
1.21 |
Regex_Period_Asterisk |
2.9615235055153297 ns/iter |
2.2806976289764576 ns/iter |
1.30 |
Regex_Group_Period_Asterisk_Group |
2.623213773292858 ns/iter |
2.2759753539829326 ns/iter |
1.15 |
Regex_Period_Plus |
2.578331190604833 ns/iter |
2.145543488998537 ns/iter |
1.20 |
Regex_Period |
2.2510582726777164 ns/iter |
2.37583610236603 ns/iter |
0.95 |
Regex_Caret_Period_Plus_Dollar |
2.844096458552499 ns/iter |
2.2357459078563626 ns/iter |
1.27 |
Regex_Caret_Group_Period_Plus_Group_Dollar |
2.44141580738069 ns/iter |
2.2331677440312845 ns/iter |
1.09 |
Regex_Caret_Period_Asterisk_Dollar |
2.304502853083839 ns/iter |
2.3721199945045957 ns/iter |
0.97 |
Regex_Caret_Group_Period_Asterisk_Group_Dollar |
2.312509937285426 ns/iter |
2.214917127782426 ns/iter |
1.04 |
Regex_Caret_X_Hyphen |
6.736428220644971 ns/iter |
6.288906028674785 ns/iter |
1.07 |
Regex_Period_Md_Dollar |
22.317691684529194 ns/iter |
19.56217760075704 ns/iter |
1.14 |
Regex_Caret_Slash_Period_Asterisk |
8.515382819609046 ns/iter |
8.802356494927267 ns/iter |
0.97 |
Regex_Caret_Period_Range_Dollar |
1.9246588298755953 ns/iter |
2.0658312056066053 ns/iter |
0.93 |
Regex_Nested_Backtrack |
28.947532418847842 ns/iter |
28.610186497379967 ns/iter |
1.01 |
JSON_Array_Of_Objects_Unique |
479.8850671984448 ns/iter |
527.800142694235 ns/iter |
0.91 |
JSON_Parse_1 |
5267.12063288055 ns/iter |
4272.180969044753 ns/iter |
1.23 |
JSON_Parse_Real |
8230.97110428328 ns/iter |
7130.527609650853 ns/iter |
1.15 |
JSON_Parse_Decimal |
11178.802038832773 ns/iter |
9056.064286792132 ns/iter |
1.23 |
JSON_Parse_Schema_ISO_Language |
5577876.427350813 ns/iter |
3424221.36966854 ns/iter |
1.63 |
JSON_Fast_Hash_Helm_Chart_Lock |
84.71058606046981 ns/iter |
67.90747915602202 ns/iter |
1.25 |
JSON_Equality_Helm_Chart_Lock |
164.01547640145156 ns/iter |
153.53209997624467 ns/iter |
1.07 |
JSON_Divisible_By_Decimal |
234.32647283212057 ns/iter |
195.5637830723651 ns/iter |
1.20 |
JSON_String_Equal/10 |
8.171860155429622 ns/iter |
7.19244901573982 ns/iter |
1.14 |
JSON_String_Equal/100 |
9.561959497853628 ns/iter |
7.094347069416023 ns/iter |
1.35 |
JSON_String_Equal_Small_By_Perfect_Hash/10 |
1.0032566044565139 ns/iter |
0.8238420607675471 ns/iter |
1.22 |
JSON_String_Equal_Small_By_Runtime_Perfect_Hash/10 |
4.396345046453269 ns/iter |
4.255628428584182 ns/iter |
1.03 |
JSON_String_Fast_Hash/10 |
2.8998130055431135 ns/iter |
2.701142685976385 ns/iter |
1.07 |
JSON_String_Fast_Hash/100 |
2.5992307702458635 ns/iter |
2.445971598270715 ns/iter |
1.06 |
JSON_String_Key_Hash/10 |
1.9277714150198715 ns/iter |
1.4941765652453283 ns/iter |
1.29 |
JSON_String_Key_Hash/100 |
3.4433161570451327 ns/iter |
2.643110431313784 ns/iter |
1.30 |
JSON_Object_Defines_Miss_Same_Length |
3.3037637803104247 ns/iter |
2.888458478308833 ns/iter |
1.14 |
JSON_Object_Defines_Miss_Too_Small |
3.136561993050173 ns/iter |
2.471276441048757 ns/iter |
1.27 |
JSON_Object_Defines_Miss_Too_Large |
3.09162802727734 ns/iter |
2.4262865937639058 ns/iter |
1.27 |
Pointer_Object_Traverse |
19.994084995618596 ns/iter |
15.524399574628404 ns/iter |
1.29 |
Pointer_Object_Try_Traverse |
28.61765049280988 ns/iter |
22.329150128515654 ns/iter |
1.28 |
Pointer_Push_Back_Pointer_To_Weak_Pointer |
212.4094001808497 ns/iter |
175.0117994685263 ns/iter |
1.21 |
Pointer_Walker_Schema_ISO_Language |
6020515.178294257 ns/iter |
4811519.8275864115 ns/iter |
1.25 |
Pointer_Maybe_Tracked_Deeply_Nested/0 |
1786542.2612245237 ns/iter |
1154068.6507936742 ns/iter |
1.55 |
Pointer_Maybe_Tracked_Deeply_Nested/1 |
2000562.1910445709 ns/iter |
1522278.3364928789 ns/iter |
1.31 |
Pointer_Position_Tracker_Get_Deeply_Nested |
572.2358605062319 ns/iter |
362.0659546356509 ns/iter |
1.58 |
URITemplateRouter_Create |
35408.13066997915 ns/iter |
24197.175166698835 ns/iter |
1.46 |
URITemplateRouter_Match |
196.44400609506502 ns/iter |
183.4278697031603 ns/iter |
1.07 |
URITemplateRouter_Match_BasePath |
244.94417728978297 ns/iter |
228.93373012924883 ns/iter |
1.07 |
URITemplateRouterView_Restore |
14461.176350485046 ns/iter |
12385.06729037768 ns/iter |
1.17 |
URITemplateRouterView_Match |
160.03471259718108 ns/iter |
159.92408699135072 ns/iter |
1.00 |
URITemplateRouterView_Match_BasePath |
185.3652173024237 ns/iter |
191.6029727615551 ns/iter |
0.97 |
URITemplateRouterView_Arguments |
509.4454175155254 ns/iter |
496.7284427204709 ns/iter |
1.03 |
JSONL_Parse_Large |
15533974.585365264 ns/iter |
14450185.000000602 ns/iter |
1.08 |
JSONL_Parse_Large_GZIP |
18489879.95238293 ns/iter |
14986322.11538419 ns/iter |
1.23 |
HTML_Build_Table_100000 |
86101761.85714279 ns/iter |
77246018.55555749 ns/iter |
1.11 |
HTML_Render_Table_100000 |
5781699.634783012 ns/iter |
3913771.516339711 ns/iter |
1.48 |
GZIP_Compress_ISO_Language_Set_3_Locations |
44371276.062499024 ns/iter |
35165489.58333487 ns/iter |
1.26 |
GZIP_Decompress_ISO_Language_Set_3_Locations |
6418592.948717428 ns/iter |
6094710.78431335 ns/iter |
1.05 |
GZIP_Compress_ISO_Language_Set_3_Schema |
2046472.5674930965 ns/iter |
1751823.3032405376 ns/iter |
1.17 |
GZIP_Decompress_ISO_Language_Set_3_Schema |
365868.23056301783 ns/iter |
316061.1066053425 ns/iter |
1.16 |
This comment was automatically generated by workflow using github-action-benchmark.
There was a problem hiding this comment.
Benchmark (windows/msvc)
Details
| Benchmark suite | Current: c2e2baa | Previous: 3140427 | Ratio |
|---|---|---|---|
Regex_Lower_S_Or_Upper_S_Asterisk |
8.829273174869503 ns/iter |
7.543696428571017 ns/iter |
1.17 |
Regex_Caret_Lower_S_Or_Upper_S_Asterisk_Dollar |
8.830096835580315 ns/iter |
7.498055803572308 ns/iter |
1.18 |
Regex_Period_Asterisk |
8.828106657016402 ns/iter |
7.491106026785234 ns/iter |
1.18 |
Regex_Group_Period_Asterisk_Group |
8.953595049315636 ns/iter |
7.48655178571462 ns/iter |
1.20 |
Regex_Period_Plus |
11.289751562500783 ns/iter |
9.66111290329962 ns/iter |
1.17 |
Regex_Period |
11.291126785713296 ns/iter |
9.656699956890472 ns/iter |
1.17 |
Regex_Caret_Period_Plus_Dollar |
11.282998437499359 ns/iter |
9.663739242572614 ns/iter |
1.17 |
Regex_Caret_Group_Period_Plus_Group_Dollar |
11.27721562500028 ns/iter |
9.655438349752778 ns/iter |
1.17 |
Regex_Caret_Period_Asterisk_Dollar |
8.82981290700874 ns/iter |
7.484540178570905 ns/iter |
1.18 |
Regex_Caret_Group_Period_Asterisk_Group_Dollar |
8.831083705356235 ns/iter |
7.52727901785631 ns/iter |
1.17 |
Regex_Caret_X_Hyphen |
13.472732752352197 ns/iter |
11.896373437499719 ns/iter |
1.13 |
Regex_Period_Md_Dollar |
45.32320629175361 ns/iter |
38.77129216479827 ns/iter |
1.17 |
Regex_Caret_Slash_Period_Asterisk |
13.044539285715473 ns/iter |
11.381403571428043 ns/iter |
1.15 |
Regex_Caret_Period_Range_Dollar |
11.28877812499951 ns/iter |
9.659140135450023 ns/iter |
1.17 |
Regex_Nested_Backtrack |
49.973610000006374 ns/iter |
46.443697465259866 ns/iter |
1.08 |
JSON_Array_Of_Objects_Unique |
494.0685999999914 ns/iter |
461.52050584271916 ns/iter |
1.07 |
JSON_Parse_1 |
8020.478794642675 ns/iter |
8469.899553570518 ns/iter |
0.95 |
JSON_Parse_Real |
14207.157780544974 ns/iter |
15862.883928571746 ns/iter |
0.90 |
JSON_Parse_Decimal |
14135.507653983055 ns/iter |
14840.206516935647 ns/iter |
0.95 |
JSON_Parse_Schema_ISO_Language |
6101450.892856519 ns/iter |
5785642.857142242 ns/iter |
1.05 |
JSON_Fast_Hash_Helm_Chart_Lock |
64.34802455357007 ns/iter |
55.292910714287906 ns/iter |
1.16 |
JSON_Equality_Helm_Chart_Lock |
278.52421779129764 ns/iter |
254.29067876296108 ns/iter |
1.10 |
JSON_Divisible_By_Decimal |
255.85627258289568 ns/iter |
251.46810944052885 ns/iter |
1.02 |
JSON_String_Equal/10 |
12.461328571427137 ns/iter |
12.538867857143389 ns/iter |
0.99 |
JSON_String_Equal/100 |
13.191260714285542 ns/iter |
13.202350000000251 ns/iter |
1.00 |
JSON_String_Equal_Small_By_Perfect_Hash/10 |
1.7684093538629264 ns/iter |
1.8787794659632158 ns/iter |
0.94 |
JSON_String_Equal_Small_By_Runtime_Perfect_Hash/10 |
11.383739062500453 ns/iter |
12.858860714286736 ns/iter |
0.89 |
JSON_String_Fast_Hash/10 |
3.58699981502294 ns/iter |
3.1325625048945422 ns/iter |
1.15 |
JSON_String_Fast_Hash/100 |
3.533568030193045 ns/iter |
3.2672393749997752 ns/iter |
1.08 |
JSON_String_Key_Hash/10 |
4.239375466857763 ns/iter |
3.7688866004130714 ns/iter |
1.12 |
JSON_String_Key_Hash/100 |
16.92298671703174 ns/iter |
14.386588328631147 ns/iter |
1.18 |
JSON_Object_Defines_Miss_Same_Length |
4.05648106418515 ns/iter |
3.7790524553571454 ns/iter |
1.07 |
JSON_Object_Defines_Miss_Too_Small |
3.9941223285609686 ns/iter |
3.763999278992716 ns/iter |
1.06 |
JSON_Object_Defines_Miss_Too_Large |
4.962053000000424 ns/iter |
5.016879999999446 ns/iter |
0.99 |
Pointer_Object_Traverse |
42.145263250893194 ns/iter |
39.79810825892446 ns/iter |
1.06 |
Pointer_Object_Try_Traverse |
53.56763392856781 ns/iter |
52.20409821429176 ns/iter |
1.03 |
Pointer_Push_Back_Pointer_To_Weak_Pointer |
154.42033482143202 ns/iter |
159.72749999999536 ns/iter |
0.97 |
Pointer_Walker_Schema_ISO_Language |
12141828.57142987 ns/iter |
10970587.500001017 ns/iter |
1.11 |
Pointer_Maybe_Tracked_Deeply_Nested/0 |
2150756.0714285644 ns/iter |
2018900.3571427325 ns/iter |
1.07 |
Pointer_Maybe_Tracked_Deeply_Nested/1 |
2973922.4576267865 ns/iter |
3181424.1071427115 ns/iter |
0.93 |
Pointer_Position_Tracker_Get_Deeply_Nested |
626.7198660714664 ns/iter |
611.2722098214261 ns/iter |
1.03 |
URITemplateRouter_Create |
38071.45497483833 ns/iter |
40610.9744065958 ns/iter |
0.94 |
URITemplateRouter_Match |
211.84290624997718 ns/iter |
217.30784374998535 ns/iter |
0.97 |
URITemplateRouter_Match_BasePath |
246.0767500000267 ns/iter |
247.6501785714293 ns/iter |
0.99 |
URITemplateRouterView_Restore |
23366.83295945167 ns/iter |
30219.37053571122 ns/iter |
0.77 |
URITemplateRouterView_Match |
157.86180803572287 ns/iter |
157.20919642855537 ns/iter |
1.00 |
URITemplateRouterView_Match_BasePath |
181.15911438921344 ns/iter |
184.41670654574315 ns/iter |
0.98 |
URITemplateRouterView_Arguments |
443.08974999999856 ns/iter |
447.45661005629194 ns/iter |
0.99 |
JSONL_Parse_Large |
28817232.00000124 ns/iter |
28072208.00000323 ns/iter |
1.03 |
JSONL_Parse_Large_GZIP |
28424516.000000037 ns/iter |
27689724.000001658 ns/iter |
1.03 |
HTML_Build_Table_100000 |
90984299.99999423 ns/iter |
87658522.22221485 ns/iter |
1.04 |
HTML_Render_Table_100000 |
7814615.555556278 ns/iter |
8045425.555556247 ns/iter |
0.97 |
GZIP_Compress_ISO_Language_Set_3_Locations |
43644488.23529903 ns/iter |
41207182.35293787 ns/iter |
1.06 |
GZIP_Decompress_ISO_Language_Set_3_Locations |
11414557.812500447 ns/iter |
10783876.562500793 ns/iter |
1.06 |
GZIP_Compress_ISO_Language_Set_3_Schema |
2505435.3571432233 ns/iter |
2294965.8862878485 ns/iter |
1.09 |
GZIP_Decompress_ISO_Language_Set_3_Schema |
657125.1785714034 ns/iter |
682883.3705357441 ns/iter |
0.96 |
This comment was automatically generated by workflow using github-action-benchmark.
There was a problem hiding this comment.
Benchmark (linux/gcc)
Details
| Benchmark suite | Current: c2e2baa | Previous: 3140427 | Ratio |
|---|---|---|---|
GZIP_Compress_ISO_Language_Set_3_Locations |
41077113.941174924 ns/iter |
41123420.764707215 ns/iter |
1.00 |
GZIP_Decompress_ISO_Language_Set_3_Locations |
4510846.290322074 ns/iter |
4712804.44666642 ns/iter |
0.96 |
GZIP_Compress_ISO_Language_Set_3_Schema |
2354825.838926365 ns/iter |
2342150.1304347813 ns/iter |
1.01 |
GZIP_Decompress_ISO_Language_Set_3_Schema |
304707.03231854347 ns/iter |
335503.12494194723 ns/iter |
0.91 |
HTML_Build_Table_100000 |
64830008.27273083 ns/iter |
65450096.45455222 ns/iter |
0.99 |
HTML_Render_Table_100000 |
1928914.656509682 ns/iter |
2338851.3061223994 ns/iter |
0.82 |
JSONL_Parse_Large |
12408771.732142197 ns/iter |
12308243.526314996 ns/iter |
1.01 |
JSONL_Parse_Large_GZIP |
13566793.137255551 ns/iter |
13620054.384616127 ns/iter |
1.00 |
URITemplateRouter_Create |
29793.75185988305 ns/iter |
29810.75108764421 ns/iter |
1.00 |
URITemplateRouter_Match |
169.63849770702737 ns/iter |
177.2078861588557 ns/iter |
0.96 |
URITemplateRouter_Match_BasePath |
201.35430157658772 ns/iter |
208.62259118204133 ns/iter |
0.97 |
URITemplateRouterView_Restore |
8360.468577820408 ns/iter |
8670.100957735222 ns/iter |
0.96 |
URITemplateRouterView_Match |
135.8959309800005 ns/iter |
138.78994639928226 ns/iter |
0.98 |
URITemplateRouterView_Match_BasePath |
158.4256866456809 ns/iter |
161.5554353687478 ns/iter |
0.98 |
URITemplateRouterView_Arguments |
471.6286403858261 ns/iter |
473.5728176287495 ns/iter |
1.00 |
Pointer_Object_Traverse |
26.521733994327082 ns/iter |
26.512813740539865 ns/iter |
1.00 |
Pointer_Object_Try_Traverse |
22.020228364181822 ns/iter |
21.934809453531866 ns/iter |
1.00 |
Pointer_Push_Back_Pointer_To_Weak_Pointer |
168.69597707018968 ns/iter |
150.9002818344394 ns/iter |
1.12 |
Pointer_Walker_Schema_ISO_Language |
3381355.899521483 ns/iter |
3476011.15121972 ns/iter |
0.97 |
Pointer_Maybe_Tracked_Deeply_Nested/0 |
1538998.818181882 ns/iter |
1554090.625850294 ns/iter |
0.99 |
Pointer_Maybe_Tracked_Deeply_Nested/1 |
1702829.8973103103 ns/iter |
1711232.9779950997 ns/iter |
1.00 |
Pointer_Position_Tracker_Get_Deeply_Nested |
533.4667279998939 ns/iter |
454.57203544609115 ns/iter |
1.17 |
JSON_Array_Of_Objects_Unique |
421.44772317994943 ns/iter |
449.2145083768266 ns/iter |
0.94 |
JSON_Parse_1 |
7789.8747887382115 ns/iter |
7768.549080297841 ns/iter |
1.00 |
JSON_Parse_Real |
11594.834650486539 ns/iter |
11866.928708116742 ns/iter |
0.98 |
JSON_Parse_Decimal |
16415.074098468074 ns/iter |
16415.05831026756 ns/iter |
1.00 |
JSON_Parse_Schema_ISO_Language |
4590456.11111069 ns/iter |
4594722.039473859 ns/iter |
1.00 |
JSON_Fast_Hash_Helm_Chart_Lock |
61.489418042455306 ns/iter |
67.87165628580377 ns/iter |
0.91 |
JSON_Equality_Helm_Chart_Lock |
176.81053925537552 ns/iter |
171.07579014127657 ns/iter |
1.03 |
JSON_Divisible_By_Decimal |
230.3831342865068 ns/iter |
229.3684707835202 ns/iter |
1.00 |
JSON_String_Equal/10 |
6.068295590946748 ns/iter |
6.0679310045290995 ns/iter |
1.00 |
JSON_String_Equal/100 |
6.807422714296098 ns/iter |
6.805296743643042 ns/iter |
1.00 |
JSON_String_Equal_Small_By_Perfect_Hash/10 |
0.7125620213409541 ns/iter |
0.7146770950280701 ns/iter |
1.00 |
JSON_String_Equal_Small_By_Runtime_Perfect_Hash/10 |
22.005928723264606 ns/iter |
21.945760010273386 ns/iter |
1.00 |
JSON_String_Fast_Hash/10 |
1.0567952774291247 ns/iter |
1.0557633347904514 ns/iter |
1.00 |
JSON_String_Fast_Hash/100 |
1.0616628428301205 ns/iter |
1.0561769712788016 ns/iter |
1.01 |
JSON_String_Key_Hash/10 |
1.759925741261589 ns/iter |
1.759666829463218 ns/iter |
1.00 |
JSON_String_Key_Hash/100 |
14.755845026632137 ns/iter |
14.762563195263667 ns/iter |
1.00 |
JSON_Object_Defines_Miss_Same_Length |
3.871778851390738 ns/iter |
3.868181807687677 ns/iter |
1.00 |
JSON_Object_Defines_Miss_Too_Small |
4.219973516087185 ns/iter |
4.227594142773989 ns/iter |
1.00 |
JSON_Object_Defines_Miss_Too_Large |
3.5174707047386367 ns/iter |
3.517857228450802 ns/iter |
1.00 |
Regex_Lower_S_Or_Upper_S_Asterisk |
1.0586491576920043 ns/iter |
1.0559383242099942 ns/iter |
1.00 |
Regex_Caret_Lower_S_Or_Upper_S_Asterisk_Dollar |
1.0543961604106136 ns/iter |
1.0546167995782716 ns/iter |
1.00 |
Regex_Period_Asterisk |
0.7036270285342935 ns/iter |
0.7033523577106513 ns/iter |
1.00 |
Regex_Group_Period_Asterisk_Group |
0.7033743406113612 ns/iter |
0.7036543566209222 ns/iter |
1.00 |
Regex_Period_Plus |
1.0551548280196332 ns/iter |
1.0766995342718413 ns/iter |
0.98 |
Regex_Period |
1.0587574192446045 ns/iter |
1.0558602002234907 ns/iter |
1.00 |
Regex_Caret_Period_Plus_Dollar |
0.7032035423754566 ns/iter |
0.705200493623136 ns/iter |
1.00 |
Regex_Caret_Group_Period_Plus_Group_Dollar |
0.7035441902572497 ns/iter |
0.7038661855280829 ns/iter |
1.00 |
Regex_Caret_Period_Asterisk_Dollar |
1.0586436795510719 ns/iter |
1.060324367718006 ns/iter |
1.00 |
Regex_Caret_Group_Period_Asterisk_Group_Dollar |
1.0553024606143848 ns/iter |
1.0547626349022583 ns/iter |
1.00 |
Regex_Caret_X_Hyphen |
4.574848737782466 ns/iter |
4.221110030296819 ns/iter |
1.08 |
Regex_Period_Md_Dollar |
35.485672780850614 ns/iter |
32.781044402077285 ns/iter |
1.08 |
Regex_Caret_Slash_Period_Asterisk |
4.219286848831077 ns/iter |
4.219601588350239 ns/iter |
1.00 |
Regex_Caret_Period_Range_Dollar |
1.0556655264162784 ns/iter |
1.0561564222007567 ns/iter |
1.00 |
Regex_Nested_Backtrack |
39.86488399305286 ns/iter |
38.37290982927079 ns/iter |
1.04 |
This comment was automatically generated by workflow using github-action-benchmark.
Signed-off-by: Juan Cruz Viotti jv@jviotti.com